Scheduling in packet switched networks

ABSTRACT

A system and method of scheduling radio resources for a plurality of users in a packet-switched radio communication network. A scheduling number (Si) is calculated for each user before each scheduling event. A weight (Wi) is assigned to each user based on an associated Quality of Service. The Si varies depending on the assigned Wi and when the user entered the scheduling session. Radio resources are assigned to the user having the largest ratio Wi/Si between the weight and the scheduling number.

TECHNICAL FIELD

The invention relates to scheduling of time slots on the radio interfaceto different users in a packet switched telecommunication network.

BACKGROUND

A Time Division Multiple Access, TDMA, radio communication systemdivides the time space in time slots on a particular transmittingfrequency. The time slots are grouped together in TDMA-frames and eachuser gets one time slot. This means that there are as many users asthere are time slots in each frame and sharing the same radio frequency.That is the case at least in principle, but some time slots or channelsare normally reserved for control information.

When a time slot is assigned to a user in the way described theconnection is regarded as circuit switched and the user owns the timeslot as long as he needs the connection. Circuit switched connectionsare suitable for connections where there is a continuously ongoing flowof information over the channel, like voice communication, which is alsosensitive to delay. On the other hand when the traffic is data which hasa bursty character and which is not that delay sensitive, the user doesnot need the channel all the time. He only needs it when there actuallyis a data packet to send or receive. In the mean time the channel couldbe used by others. This is the background to packet switched connectionswhere several users may share the same channel.

The universal TDMA-system GSM was originally designed for circuitswitched connections but by adding some extra nodes, this existingsystem may also be used for packet switched connections, theGPRS-solution (General Packet Radio System).

In packet switched solutions, each user gets one or several time slotsreserved for his disposal. Other users may, however, use the same timeslots and there is a need for scheduling the time slots on the differentusers, especially when they request service at the same time. Dependingof type of data, and need for speed requested among the users, differentclasses of Quality of Service, QoS, are defined. The QoS for a certaindata packet also has an impact on the scheduling and users with highclass QoS will be favoured in relation to those having lower classes.Thus depending on several parameters the scheduling could become quitecomplicated.

Current available scheduling methods for GPRS are “Weighted Round Robin”and “Virtual Clock Multiplexing”. Reference could also be made to thefollowing literature:

-   -   WO 2001/525 88 assigned to Quallcomm Inc. publ Jul. 19, 2001.    -   Resource Allocation in GPRS Wireless Network, Tripathi et al,        Personal Wireless Communications, 2000 IEEE International        Conference, 2000, p. 388-394.    -   Scheduling and QoS in GPRS, Sau et al, Universal Personal        Communications 1998, Vol 2 p. 1067-1071.    -   An Air Interface Solution for Multi-rate General Packet Radio        Service, Taaghol et al Vehicular Technology Conference 1997,        vol. 2, p. 1263-1267.

SUMMARY OF THE INVENTION

The scheduling must be able to distribute the radio resourcesmomentarily between the users according to their weights as far as thereservation situation allows and as soon as they request service. Thealteration between users must be as finely grained as possible. When anew user requests service or when another ceases his request, the systemmust react accordingly without delay. When there is an unbalance of thereservation distribution, the scheduler must still make full use of eachtimeslot and a problem with existing prior art solutions is that suchefficient use of schedulers cannot be done without favouring ordisfavouring certain users.

It is thus an object of this invention to overcome the problems ofunbalance of scheduling, particularly when the user pattern changes, andthat scheduling of channels between users still is performed withoutfavouring or disfavouring any users.

Another object is that the scheduling is performed efficiently andwithout loosing any time slots.

Still another object is to, without loosing efficiency, keep the balanceindependent of the number of users, but dependant on the weightsassociated with each user and the number of available channels.

These and other objects are achieved by calculating, as soon as thereare channels available for scheduling, a scheduling number for eachuser, i.e. a number defining a certain user's position in a queue forupcoming available channels. For the number account is taken for earlierschedulings, the weight, the number of users, the time slots assigned tothe group and the dynamic behaviour of the users. The user pattern maychange during the scheduling sessions. New users enter the scene, whileothers leave. The QoS may also change during a user's session. In anideal hypothetical situation a new user coming in at the same time asanother one leaves having the same QoS and other parameters, the newuser replaces the old one without affecting the queue for the remainingusers.

The invention is further defined in the appended claims relating tomethods, systems and network elements, wholly or partly incorporated inthe systems, for the purpose of scheduling radio resources in a packetswitched telecommunication entity.

FIGURES

FIG. 1 is a general overview of a GPRS-network.

FIG. 2 shows examples of reservations of a number of users on a packetswitched channels in the GPRS-network.

FIG. 3 is a flowchart describing one embodiment of the invention

PREFERRED EMBODIMENTS

FIG. 1 shows a general overview of a GPRS-system integrated in aconventional GSM-network with its Mobile Switching Centre, MSC, Gateway,GMSC, and Base Station Controller, BSC. The added nodes for GPRS are theServing GPRS Support Node, SGSN, and the Gateway, GGSN, communicatingwith an IP-network for example. A Packet Control Unit, PCU, is added tothe BSC. The described components are connected to Base StationTransceivers, BTS, which communicate with Mobile Stations over a radiointerface.

When a user has data information to transport a Temporary Block Flow,TBF, is established for him. The TBF is divided into a number of radioblocks each consisting of four bursts on a particular channel in fourconsecutive TDMA-frames. A PSET is defined as a number of packet datachannels, PDCH, in the TDMA-frame assigned to the users of packetswitching on a radio frequency, while the rest of the time slots in theframe are used for circuit switched traffic and control information.Each user gets a reservation on the PSET. The PCU in the BSC controlsthe packet data flow. The Medium Access Control (MAC)-protocolmultiplexes the concurrent TBFs onto the radio interface. Every 20milliseconds, the approximate duration for a radio block to be sent, anew scheduling decision has to be made for the PSET. Each TBF has anassociated weight related to the QoS for the priority of traffichandling. In an ideal situation, the schedulings a certain TBF receivesis proportional to its weight divided by the sum of weights.

The PSET is not necessarily limited to a fixed number of channels on thecarrier frequency, but could vary during the session and includedifferent time slots. For simplicity reasons, however, this descriptionis further on limited to a fixed PSET.

A scheduling session starts when at least one user requests packetswitched service on the PSET and ends when all users participating inthe session have sent their last packet.

According to the invention a new scheduling number is calculated foreach user whenever the system is ready to send a new radio block. Thenumber depends on the QoS weight but is independent of the structure ofthe PSET and the particular time slots allocated to each user. Accountis also taken for changes in user pattern. The invention aims to give anew user a place in the scheduling queue which place he would have hadif he had been there from the start. In this description “virtual”scheduling number is used. “Virtual” means that the number may differfrom the real number for calculation reason. For example a startingvalue for the number differing from zero must be used according to asuggested algorithm below.

Some definitions:

-   -   A scheduling round represents the set of schedulings made on the        whole PSET, i.e. all the packet channels in the TDMA-frame.    -   A scheduling step is the scheduling of a single radio block.    -   i is the number of the user.    -   TBFi: Temporary block flow for user i.    -   W_(i): Weight of TBF_(i)    -   S_(i): Accumulated number of “virtual” schedulings for TBF_(i).        After a scheduling step the S-value is increased by 1.    -   ΣS_(i): Total number schedulings numbers for all TBFs having        reservation on the PSET for the moment.    -   The r-ratio: r_(i)=W_(i)/Si. This ratio is decisive of which TBF        to be scheduled next time.    -   S₁=max {W_(i)ΣSi/((ΣW_(i))−W_(i)); 1}: S₁ is the startvalue for        the virtual scheduling number. When the session starts, all the        S₁-values for participating TBFs are set to 1. When new users        enters, its S₁-value is a function of all earlier S-values and        weights, a function normally greater than 1.

A first example of a scheduling scheme is explained by reference toFIGS. 2A and B and some tables below.

FIG. 2A shows the packet switched reservations for three TBFs, TBF1-3 ona PSET occupying the first four time slots TS0-3 of a TDMA-frequency.The rest of the time slots (only TS4 is shown) are used for othertraffic. TBF1 has a reservation on the two first time slots TS0 and TS1.TBF2 uses time slots TS2 and TS3 while TBF3 partly covers the others bybeing reserved on the three time slots TS0-2. The weights for the threeusers are:

-   TBF1: W1=1-   TBF2: W2=4-   TBF3: W3=3

And the sum of weights is:

-   ΣW_(i)=8

TABLE 1 Schd. round TS0 TS1 TS2 TS3 S1 S2 S3 S4 r1 r2 r3 r4 Start — — —— 1 1 1 — 1/1 4/1 3/1 1 TBF3 2 3/2 TBF3 3 3/3 TBF2 2 4/2 TBF2 3 4/3 2TBF1 2 1/2 TBF3 4 3/4 TBF2 4 4/4 TBF2 5 4/5

Table 1 shows the first two schedulings rounds of the three TBFs. Allthe start values for S are 1. The maximum r-ratio decides which TBF willget the first time slot, TS0. As seen r2 is greatest (4/1), but TBF2does not use TS0—see FIG. 2A. Second greatest is r3 (3/1) and since TBF3uses TS0 that user gets the first time slot. S3 is increased by one andits r-value decreases (to 3/2). Now the greatest r-value still is r2(4/1), but TBF2 neither uses TS1. Second greatest is once again r3 (3/2)and TBF3 also gets TS1. TBF2 uses TS2 and gets this time slot and alsothe last one, TS3, of the first scheduling round.

At the start of the next scheduling step in the second round, TBF1 hasthe first highest r-value (1/1) of the users of TS0 and TBF1 gets thattime slot. (TBF3 has the same r-value (3/3) but in this example the usernumber is decisive.) After that TBF3 gets one and TBF2 two more timeslots. According to table 1, eight time slots have been scheduled andTBF1 got one, TBF2 got four and TBF3 three, i.e. according to theirweights, which would had been expected for a correct method. Tosummarise:

-   TBF1: 1 scheduling-   TBF2: 4 schedulings-   TBF3: 3 schedulings

Thereafter a new user enters the scene, TBF4—see FIG. 2B. That user hasa reservation consisting of TS1-3, a weight of 2 and gets a startingvalue S₁ of 11/4 (11*2/(10-2) according to the expression for S₁ above.

Five more schedulings are shown in table 2 together with the remainingr- and S-values from table 1 and the new values for TBF4 calculatedaccording to the invention.

TABLE 2 # Sch. TS0 TS1 TS2 TS3 S1 S2 S3 S4 r1 r2 r3 r4 2 2 5 4 11/4 1/24/5 3/4 8/11 3 TBF3 5 3/5 TBF4 15/4 8/15 TBF2 6 4/6 TBF2 7 4/7 4 TBF3 63/6 TBF4 19/4 8/19 TBF2 8 4/8 TBF2 9 4/9 5 TBF1 3 1/3 TBF3 7 3/7 TBF2 10 4/10 TBF4 23/4 0.33 0.40 0.43 0.35 6 TBF3 8 0.38 TBF4 27/4 0.30 TBF2 110.36 TBF3 9 0.33 7 TBF1 4 0.25 TBF3 10 0.30 TBF2 12 0.33 TBF2 13

As seen in the two tables all the 24 scheduled radio blocks for TBF1-3leads to a total real sum of scheduling rounds 1 to 7 of:

-   TBF1 =3 (3)-   TBF2=12 (12)-   TBF3=9 (9)

The real numbers fulfil the weights. The numbers within parenthesisrepresent ideal values. Even if the example shows a good result, thecalculations indicate that a user like TBF2 with high QoS-value may bedisfavoured if his reservation is limited to a few time slots. Aconclusion is that users with high weights should get more time slots onthe PSET.

The real sum of the twenty schedulings steps in rounds 3 to 7 with thenew user TBF4 included is the following for each TBF:

-   TBF1=2 (2)-   TBF2=8 (8)-   TBF3=6 (6)-   TBF4=4 (4)

These numbers also fulfil the weights compared to the ideal valueswithin parenthesis.

The example according to FIG. 2 and tables 1 and 2 shows that thenumbers converge to give a correct distribution of resources dependingon requested QoS, the user pattern and depending on earlier scheduling.

Another example is given in FIG. 2C. Here all users have the samereservations on the PSET. TBF1-3 and 5 have had an ongoing schedulingprocedure for forty rounds. In table 3 the distribution of time slotsamong the TBFs are shown from the 41^(st) round. After the 46^(th) roundthe new user TBF4 is set up. According to the general expression for S1above the starting value for S for the new user will be 33.133. The newuser is shown in bold characters.

TABLE 3 Schd. TS0 TS1 TS2 TS3 41 TBF1 TBF5 TBF2 TBF3 42 TBF2 TBF1 TBF5TBF2 43 TBF1 TBF5 TBF2 TBF3 44 TBF2 TBF1 TBF5 TBF2 45 TBF1 TBF5 TBF2TBF3 46 TBF2 TBF1 TBF5 TBF2 47 TBF1 TBF4 TBF5 TBF2 48 TBF3 TBF2 TBF1TBF5 49 TBF2 TBF1 TBF4 TBF5 50 TBF2 TBF3 TBF2 TBF1 51 TBF5 TBF2 TBF1TBF4

In table 4 the new values for the 47^(th) scheduling are shown. At leastthe integer part of the S-numbers exactly corresponds to the weightsassociated with all the users. It should be noted that the new user witha weight of 1 has almost the same value (33.133 vs. 33.300) as theexisting user TBF3 having the same weight.

TABLE 4 TBFi Wi Si ri TBF1 2 66,000 0,0303 TBF2 3 99,500 0,0302 TBF3 133,300 0,0300 TBF4 1 33,133 0,0302 TBF5 2 66,267 0,0302

In order to keep the comparison accurate, a rescaling of the S-values isperformed from time to time. An expression to be used isSnew=Sold/constantfor all S-values in the PSET.

The actual scheduling is performed on the radio interface by thetransmitters, i.e. in the radio base stations and mobile stations, butunder control of the PCU. Control information is sent over the A-bisinterface between the BSC and the BTSs for control of the transceivers,TRXs, of the base stations and further on over the air to the mobileswhen these are the objects of the scheduling scheme.

FIG. 3 shows a flow chart for scheduling a user TBFi on its packetswitched channels belonging to a PSET according to the invention. irepresents the number of the user and j is a scheduling step where oneradio block is scheduled for a particular user. The total number ofradio blocks for the user's session is denoted n. To start with in box30, j is set to 1 and the system prepares for scheduling the user'sfirst radio block. The initial Sij-value (Sil for user i) is establishedin box 31. Thereafter the rij-relation between Sij and the weight Wi forthe user is calculated in box 32. The calculated value is stored in box33 together with r-values belonging to other users. In the conditionalbox 34 it is evaluated if rij has the greatest value compared to allusers in the scheduling scheme. If so, TBFi is scheduled, 35, on thenext set of four bursts for the packet channel time slot and j isincreased by 1. Next question is if all radio blocks of TBFi has beenscheduled, j=n ?, 36. A yes-answer ends the session for TBFi in box 37.If the user has more to send the S-value is increased by 1 in box 38 anda new rij is calculated in box 32. This loop is passed whenever user iis scheduled.

If user i has not got the highest r-value in the evaluating box 34 andthe output is no, another user sharing the same PSET is scheduled in box39. A new r-value, lower than the previous one for that other user iscalculated in box 40. That new value replaces the old one in the storagebox 33. A new question is asked in box 34 and if rij for user i is stillnot the maximum value another loop through the boxes 39 and 40 is passedfor perhaps a third user on the PSET. If the maximal r-values are thesame for several users, the numerical number of the user or some othermechanism ensuring a fair distribution of the radio resources are used.

FIG. 3 thus shows two main loops to be passed when scheduling a user ina packet switched communication system i.e.

-   -   one for the particular user i in question (to the left in the        figure),    -   one for other users sharing the same PSET (to the right in the        figure).

By using this schedulings and the special parameters according to theinvention it is ensured that the radio resources are distributed in afair way among the users.

Final Comments

The invention relates to scheduling of several users in a packetswitched radio communication network. The idea of the invention is tocalculate a scheduling number for each user before each schedulingevent. The number is related to the QoS requested by the particular userand earlier schedulings. The relation is decisive of which user to bescheduled in the next event.

The chosen algorithm for the scheduling according to the preferredembodiments above should rather be regarded as examples for realisingthe idea of the invention. It is possible to use other start values andcalculations along the way. For example it would be possible to use realscheduling numbers for at least the original users, start on zero anduse another expression for the r-relation. A new user will, however,have to use a higher start value matching the users already inscheduling sessions, thus denoting at least the new users schedulingnumber a “virtual” dito.

The invention has been described mainly in relation to GSM and itsrelated packet switched system GPRS. However, the skilled manimmediately realises, that the idea of the invention is applicable assoon there are several users sharing the same radio resources and wherethere are good reasons to distribute the resources as evenly and fair aspossible, especially over a time divisional radio interface with adynamic behaviour among the users.

1. A method of scheduling radio resources for a user in a plurality ofusers in a telecommunication packet-switched system, each of the usershaving an associated Quality of Service (QoS), said method comprisingthe steps of: calculating a scheduling number (Si) based on earlierschedulings for each of the users before each new scheduling; allocatinga weight (W_(i)) in the scheduling process to each user based on eachuser's associated QoS; creating a relationship (r) between the weight(W_(i)) and the scheduling number (Si), said relationship being decisiveof which user is to be scheduled, wherein the relationship is the ratio(W_(i)/Si) between the weight and the scheduling number; observing thescheduled user's dynamic behavior; and scheduling radio resources forthe scheduled user based on at least the following parameters: theallocated weight (W_(i)) of the scheduled user compared to the weightsof other users; earlier schedulings of radio resources; and the dynamicbehavior of the scheduled user.
 2. The method of claim 1, wherein thestep of scheduling radio resources for the user includes schedulingtransmission of a radio block for the user if the ratio W_(i)/Si for theuser is larger than the ratio for any other user.
 3. A method ofscheduling radio resources for a user in a plurality of users in atelecommunication packet-switched system, each of the users having anassociated Quality of Service (QoS), said method comprising the stepsof: calculating a scheduling number (Si) based on earlier schedulingsfor each of the users before each new scheduling, wherein the schedulingnumber for a user is increased by 1 as soon as the user has beenscheduled; allocating a weight (W_(i)) in the scheduling process to eachuser based on each user's associated QoS; creating a relationship (r)between the weight (W_(i)) and the scheduling number (Si), saidrelationship being decisive of which user is to be scheduled; observingthe scheduled user's dynamic behavior; and scheduling radio resourcesfor the scheduled user based at least on the following parameters: theallocated weight (W_(i)) of the scheduled user compared to the weightsof other users; earlier schedulings of radio resources; and the dynamicbehavior of the scheduled user.
 4. A system for performing scheduling ofa number of users sharing the same communication channels in apacket-switched radio communication system during a scheduling session,said system comprising: means for calculating a scheduling number (Si)for each user dependent on earlier schedulings for the user and otherusers; means for calculating a weight (W_(i)) associated with a Qualityof Service assigned to each user; and means for taking into accountdifferent users entering or leaving the scheduling session in order toensure a fair distribution of radio resources among the different usersaccording to their assigned weights independent of when each user entersthe scheduling session; wherein the scheduling number (Si) is initiallyset to a value of 1 for users participating in the session from thestart, while users entering the session later get either 1 orW_(i)·ΣSi/((ΣW_(i))−W_(i)), whichever is larger, as their initialscheduling number, where W_(i) is the weight assigned to the user,ΣW_(i) is the sum of weights for all users, and ΣSi is the sum ofscheduling numbers for earlier users.
 5. The system of claim 4 whereineach user has a reservation on a number of packet-switched channels. 6.A method of scheduling radio resources for a user in a plurality ofusers in a telecommunication packet-switched system, each of the usershaving an associated Quality of Service (QoS), said method comprisingthe steps of: calculating a scheduling number (Si) based on earlierschedulings for each of the users before each new scheduling; allocatinga weight (W_(i)) in the scheduling process to each user based on eachuser's associated QoS; creating a relationship (r) between the weight(W_(i)) and the scheduling number (Si), said relationship being decisiveof which user is to be scheduled; observing the scheduled user's dynamicbehavior; and scheduling radio resources for the scheduled user based atleast on the following parameters: the allocated weight (W_(i)) of thescheduled user compared to the weights of other users; earlierschedulings of radio resources; and the dynamic behavior of thescheduled user; wherein the step of calculating a scheduling numberincludes the steps of: when the scheduling process begins, assigningeach user being scheduled, a scheduling number with a starting value of1; and for new users entering the scheduling process once it hasstarted, calculating the scheduling number as a function of earlierscheduling numbers (Si) and the weights (W_(i)) of all users bycalculating the starting scheduling number for a user entering thescheduling process once it has started using the equation,W_(i)·ΣSi/((ΣW_(i))−W_(i)), if the equation yields a value greater than1; and assigning a scheduling number with a starting value of 1 to theuser entering the scheduling process once it has started, if theequation yields a value that is not greater than
 1. 7. The method ofclaim 6, further comprising the steps of: establishing a Temporary BlockFlow (TBF) for data to be sent by each user; dividing the TBF into radioblocks; and sending one radio block over the radio interface when theuser is scheduled.
 8. A system for performing scheduling of a number ofusers sharing the same communication channels in a packet-switched radiocommunication system during a scheduling session, said systemcomprising: means for calculating a scheduling number (Si) for each userdependent on earlier schedulings for the user and other users; means forcalculating a weight (W_(i)) associated with a Quality of Serviceassigned to each user; means for calculating a ratio (W_(i)/Si) betweenthe weight and the scheduling number for each user; means for schedulingtransmission of a radio block for a given user if the ratio W_(i)/Si forthe given user is larger than the ratio for any other user; and meansfor taking into account different users entering or leaving thescheduling session in order to ensure a fair distribution of radioresources among the different users according to their assigned weightsindependent of when each user enters the scheduling session.